package cn.iocoder.yudao.module.expert.controller.admin.extractinfo.vo;

import cn.iocoder.yudao.module.expert.dal.dataobject.expertinfo.ExpertInfoDO;
import com.alibaba.excel.annotation.ExcelProperty;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.util.*;
import javax.validation.constraints.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;

@Schema(description = "管理后台 - 抽签结果新增/修改 Request VO")
@Data
public class ExtractInfoSaveReqVO {

    @Schema(description = "抽取表主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "1253")
    private Long id;

    @Schema(description = "抽取轮次", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "抽取轮次不能为空")
    private Integer extractBatchNum;

    @Schema(description = "抽取人数", requiredMode = Schema.RequiredMode.REQUIRED)
    @NotNull(message = "抽取人数不能为空")
    private Integer extractExpertNum;

    @ExcelProperty("抽取专业")
    private String extractMajor;

    @Schema(description = "抽取时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime extractTime;

    @Schema(description = "专家id", requiredMode = Schema.RequiredMode.REQUIRED, example = "23670")

    private Long expertId;

    @Schema(description = "项目id", requiredMode = Schema.RequiredMode.REQUIRED, example = "16013")
    @NotNull(message = "项目id不能为空")
    private Long projectId;

    @Schema(description = "姓名", requiredMode = Schema.RequiredMode.REQUIRED, example = "李四")

    private String expertName;

    @Schema(description = "专家单位", requiredMode = Schema.RequiredMode.REQUIRED)

    private String expertUnit;

    @Schema(description = "电话")
    private String expertPhone;

    @Schema(description = "专家所属专家库")
    private String expertMajor;

    @Schema(description = "职称")
    private String expertTitle;

    @Schema(description = "身份代码")
    private String expertIden;

    @Schema(description = "身份证号")
    private String idNumber;

    @Schema(description = "项目名称", requiredMode = Schema.RequiredMode.REQUIRED, example = "芋艿")
    @NotEmpty(message = "项目名称不能为空")
    private String projectName;

    @Schema(description = "项目单位", requiredMode = Schema.RequiredMode.REQUIRED)

    private String projectUnit;

    @Schema(description = "联系人")
    private String projectContacts;

    @Schema(description = "联系人电话")
    private String projectPhone;

    @Schema(description = "项目所需专家库")
    private String projectMajor;

    @Schema(description = "项目时间")
    private String projectTime;

    @Schema(description = "项目地址")
    private String projectAddress;

    @Schema(description = "项目金额")
    private String projectAmount;

    @Schema(description = "项目招标时间", requiredMode = Schema.RequiredMode.REQUIRED)
    private LocalDateTime projectTendersTime;

    @Schema(description = "备注", example = "你说的对")
    private String remark;

    @Schema(description = "固定专家人员id")
    private List<Long> expertIdList;
}